package com.canxi.earn.service;

import com.canxi.earn.domain.CxJoke;
import com.canxi.earn.domain.vo.CxJokeVo;
import com.canxi.earn.domain.bo.CxJokeBo;
import com.canxi.common.core.page.TableDataInfo;
import com.canxi.common.core.domain.PageQuery;
import icu.mhb.mybatisplus.plugln.base.service.JoinIService;

import java.util.Collection;
import java.util.List;


/**
 * 笑话Service接口
 *
 * @author ruoyi
 * @date 2024-09-05
 */
public interface ICxJokeService  extends JoinIService<CxJoke> {


    /**
     * @description: TODO 分页查询笑话列表
     * @author: ruoyi
     * @date: 2024-09-05
     * @param:
     * @param: cxJokeVo 笑话
     * @return:
     * @return TableDataInfo<CxJokeVo>
     **/
    public TableDataInfo<CxJokeVo> queryCxJokeList(CxJokeBo cxJokeBo);

    /**
     * @description: TODO 查询全部笑话列表
     * @author: ruoyi
     * @date: 2024-09-05
     * @param:
     * @param: cxJokeVo 笑话
     * @return:
     * @return java.util.List<CxJokeVo>
     **/
    public List<CxJokeVo> queryCxJokeAll(CxJokeBo cxJokeBo);

    /**
     * 查询笑话
     */
    CxJokeVo queryById(String id);


    /**
     * 查询笑话列表
     */
    List<CxJokeVo> queryList(CxJokeBo bo);

    /**
     * 新增笑话
     */
    Boolean insertByBo(CxJokeBo bo);

    /**
     * 修改笑话
     */
    Boolean updateByBo(CxJokeBo bo);

    /**
     * 校验并批量删除笑话信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    Boolean addFromOther(CxJokeBo bo);

    /**
     * 随机获取一个笑话
     * @return
     */
    CxJokeVo queryRandomInfo();
}
